Steam Deck (SteamOS 3) における日本語入力
#SteamOS #Steam Deck
original page (scrapbox.io)
static page (scrapbox-reader.vercel.app, for auto translation)
// この文章はSteam Deckで入力してい・・・こうと思ってましたが諦めました
2022年12月19日時点のSteamOS Stable 20221213.1/Beta 20221214.100/Main 20221214.1000での現状
Gaming mode
設定→キーボードから選べるスクリーンキーボードでは「日本語(ローマ字)」「日本語(かな)」の2つの選択肢があり、これを選ぶと(おそらくAnthyによる)最低限の日本語変換はできる
いわゆるリアルタイム入力ではなく、変換完了するまでは変換中の文字列はスクリーンキーボード内にのみ表示され、変換確定時に漢字等が入力される仕様
USB/Bluetoothで接続した物理キーボードからの入力は常に直接入力となり変換できない
スクリーンキーボードも物理キーボードもUS配列に固定されている
スクリーンキーボードをJP配列に変える方法は現時点で存在しない
Desktop modeでJP配列に設定したうえで、Gaming mode内でKonsoleを開いて ibus-setup とかでibusを実行してから Konsoleを終了しないでおくと、次にスクリーンキーボードで入力するまではJP配列で入力できるようになる
ただし日本語入力はできない
スクリーンキーボードで1文字でも入力するとその瞬間US配列に戻る
スクリーンキーボードを開くだけなら大丈夫
ibus-daemon -rdでdaemon再起動するとまたJP配列になる
と思ってたけどなんか出来ないこともあった(条件わからん)
Desktop mode
ibus-anthyが入ってる
下記でibusに設定したAnthyでの入力だけでなく、スクリーンキーボードでの入力も~/.anthy/last-record2_default.utf8にログが残ってるのでAnthyが使われてるのは間違いない
スクリーンキーボード含むSteamのUIが一切表示されないことがよくある
条件不明
System MonitorからSteamをkillして起動し直せば直る
ログインの度に必要
コマンドでやるなら
code:sh
STEAMPID=$(ps ax | grep /home/deck/.local/share/Steam/ubuntu12_32/steam | head -n1 | awk '{ print $1 }')
kill -9 $STEAMPID
(Beta, Main) ibusのアイコンがタスクバーに表示されない
ibusアイコンから設定を開いたり現在の入力言語を確認したりできない
ibus-setupコマンドを手動で実行することで設定は開ける
ibus-daemon -rdでアイコンが復活する
(Beta, Main) スクリーンキーボードでの日本語入力の確定時に2文字程度しか入力されない(途切れる)ことがある
(Beta?) スクリーンキーボードで日本語入力するとその後anthyによる入力ができるようになることがある
これはibusでAnthyが設定されていなくてもなる
この場合、確実な解除方法は存在しない
物理キーボードでibus-anthyを確実に使えるようにする方法を編み出した
読み取り専用を解除(Steam DeckについてるSteamOS 3環境の仕様#63a01b50a99d48000092c7a7)したうえで、sudo pacman -S ibus-anthyでibus-anthyを再インストールすると、ibus-setup上のInput methodの選択肢のJapaneseの中にAnthyが現れる
この操作以前にあったかどうかちょっと覚えてない
これを設定すると、物理キーボードでもSuper(Win)+SpaceでAnthyと直接入力を切り替えられるようになる
AnthyオンリーでAnthy内のひらがなモードと半角英数モードを切り替える運用が理想だけど、現時点ではAnthyの設定ウィンドウがエラーで起動せずキーボードショートカットが設定できないため現実的ではない
とりあえずworkaroundとして、ibus-setupのGeneral→Next input methodの横の「…」を押して、Superのチェックを外してControlに入れてAddすることでCtrl+Spaceでできるようになる
設定してしまえば後は読み取り専用に戻してもSteamOSをアプデしても大丈夫っぽい
ibus-anthyの設定ウィンドウを表示できるようにする
ibus-anthyを再インストールしたあと、以下のコマンドを実行
code:sh
# /usr/share/ibus-anthy/setup/main.py の152行目
# 'show-lut-on-convert', 'behavior-on-select-candidate', をコメントアウトする
sudo sed -i.orig -e "s/'show-lut-on-convert'/# 'show-lut-on-convert'/" /usr/share/ibus-anthy/setup/main.py
これでibus-setupから設定画面が開けるようになるので、Key Binding→on_offに全角/半角とCtrl+spaceを登録する
これコマンドで自動化したいんだけど設定ファイルが見つからない、というか設定がどこにも保存されてない?
これはSteamOSアプデの度に管理者権限要りそう
ibus-mozcを入れてみる
SteamDeckにibus-mozcを導入しようとしているログ
できた: SteamDeckのデスクトップ環境にibus-mozcを導入する
fcitxを使う手は?
スクリーンキーボードがibus-anthyを使っているためそれを使った方がいい?
スクリーンキーボードを起動しようとするとSteamがフリーズして以降コントローラ操作が反応しなくなる
ことがあったんだけどそうでもないこともあった
開発陣のこの返答(2022/6/10)が全てを物語っている:
Some Games Require setting LC_ALL Variable for correct Language. Not possible due to stripped glibc package. · Issue #794 · ValveSoftware/SteamOS
We aggressively reduce the size of the OS partition by removing locales, man pages, etc. This is done to leave as much space as possible for game content. We understand this is not ideal for a desktop use case.
日本語UIが使えないのはこの方針が要因だろう
このissueでは現在もlocaleに関する議論が行われていて、この議論の末に日本語ロケールが正しく使えるようになるかも
issueを出すために要点をまとめてみる
Japanese input issue
スクリーンキーボードでJP配列が使えない
Desktop modeでは、物理キーボードでJP配列が使えないし